package com.gome.ocean.service.gddl;

import java.util.List;

import com.github.pagehelper.Page;
import com.gome.ocean.common.enums.ProxyType;
import com.gome.ocean.common.exception.ProxyServiceException;
import com.gome.ocean.dao.gddl.ProxyAdapterDAO;
import com.gome.ocean.dao.model.gddl.ProxyBO;

public interface ProxyService {

    boolean insertProxyBO(ProxyBO proxyBO) throws ProxyServiceException;

    boolean removeProxyBOById(Long id);

    boolean updateProxyBO(ProxyBO proxyBO) throws ProxyServiceException;

    ProxyBO findProxyBOById(Long id);

    Page<ProxyBO> findAllProxyBOs(Integer pageNum, Integer pageSize);

    Page<ProxyBO> findAllProxyBOsByProjectNames(List<String> projectNames, Integer pageNum, Integer pageSize);

    ProxyAdapterDAO getAccesser(Long proxyId, ProxyType proxyType);

    List<ProxyBO> getProxyList(Long clusterId, Integer status);

    ProxyBO findProxyByName(String name);

    List<ProxyBO> findAllProxyByClusterIds(List<Long> clusterIds);
}
